Distributed systems may have multiple copies of an application executable code executing in separate processes. In some embodiments, the various instances of the application may be operating on different hardware platforms. In many cases, a load balancing system may be used to distribute the workload across each instance of the application.
Distributed applications are often used in situations where a high degree of scalability may be useful. For example, a website or web application may be scaled the multiple processes when a large surge in traffic may be expected. In such situations, an application may be duplicated into many hundreds or thousands of instances, each operating in parallel.